// import com.alibaba.druid.sql.ast.SQLName_ptr;
// import com.alibaba.druid.sql.ast.SQLObject;
// import com.alibaba.druid.sql.ast.SQLStatementImpl;
// import com.alibaba.druid.sql.visitor.SQLASTVisitor;

// import java.util.Collections;
// import java.util.List;
#pragma once
#include "../SQLStatementImpl.h"

class SQLAlterTypeStatement : virtual public SQLStatementImpl
{
public:
  SQLName_ptr name;

  BOOL_ptr compile;
  BOOL_ptr debug;
  BOOL_ptr body;
  BOOL_ptr reuseSettings;

  SHAREDOBJECT(SQLAlterTypeStatement);
  SQLName_ptr getName();

  void setName(SQLName_ptr name);

  BOOL_ptr isCompile();

  void setCompile(BOOL_ptr compile);

  BOOL_ptr isDebug();

  void setDebug(BOOL_ptr debug);

  BOOL_ptr isBody();

  void setBody(BOOL_ptr body);

  BOOL_ptr isReuseSettings();

  void setReuseSettings(BOOL_ptr reuseSettings);

  void accept0(SQLASTVisitor_ptr visitor);

  // @Override
  SQLObject_list_ptr getChildren();
};
